﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace snat.algorithms {

    /// <summary>
    /// Delegate type for events to be used to inform GUI the algorithm has text to output
    /// </summary>
    /// <param name="name">The algorithm that threw the event</param>
    public delegate void RenderTextDelegate(IAlgorithm algorithm);

    public interface ITextRenderable {

        /// <summary>
        /// Event which informs the GUI text is ready to be displayed
        /// </summary>
        event RenderTextDelegate RenderText;

        /// <summary>
        /// Method which provides the GUI with text to display
        /// </summary>
        /// <returns>Text to display on the GUI</returns>
        String GetRenderableText();

    }
}
